interface IStore {
   expire?: number
   [key: string]: any
}
export class Storage {
   public setStorage(key: string, store: IStore) {
      if (store?.expire) {
         store.expire = 1000 * store.expire + new Date().getTime()
      } else {
         localStorage.setItem(key, JSON.stringify(store))
      }
   }

   public getStorage(key: string): IStore | null {
      const item = localStorage.getItem(key)

      if (item) {
         const store = JSON.parse(item) as IStore
         if (store.expire) {
            if (store.expire > new Date().getTime()) return null
            return store
         }
         return store
      }
      return null
   }

   public remove(key: string) {
      localStorage.removeItem(key)
   }
}
